DisplayNode
What is DisplayNode?
DisplayNode is a web-based visualisation tool for Python. The visualizations are displayed in the web-browser and optionally integrate with IPython Notebooks.
It has been thought mainly to visualize volumetric images for medical imaging and graphs and is utilized as a web front-end for the imaging software platform occiput.io.
How does it work?
DisplayNode makes use of four javascript libraries: d3.js (data-driven-documents), openseadragon.js (level-of-detail visualization), three.js (WebGL 3D engine), tipix.js (visualization of sequences of images).
DisplayNode currently generates four types of visualizations:
- Graphical structures: directed graphs, undirected graphs
- Images, sets of images, deep-zoom images
- XY plots
- 3D shapes
The example that follows displays a simple directed graph:
from DisplayNode import DisplayNode D = DisplayNode() nodes = [{'name': 'A', 'type': 0},{'name': 'B', 'type': 0},{'name': 'C', 'type': 2}] links = [{'source': 'A', 'target': 'C', 'type': 't1'},{'source': 'B', 'target': 'C', 'type': 't1'}] D.display('graph',{'nodes':nodes,'links':links})
The example that follows displays a sequence of images:
from DisplayNode import DisplayNode from DisplayNode.examples import random_synthetic_image D = DisplayNode() images = [] for i in range(5): images.append( random_synthetic_image() ) D.sisplay('images',images)
Easy install
pip install displaynode
Download source code
Download: DisplayNode on GitHub
Install from source
python setup.py build install
Test
python setup.py test
Run examples
Launch ipython notebook or the python console, then:
import DisplayNode DisplayNode.examples.display_graph_example() DisplayNode.examples.display_image_example() DisplayNode.examples.display_geometry_example() O=DisplayNode.examples.ExampleObjectThatHasGraphicalRepresentation() O